package com.newjiabo.applet.modules.entity.dto;


import cn.hutool.json.JSONObject;
import com.newjiabo.applet.modules.entity.enums.AuthUserGender;
import com.newjiabo.applet.modules.entity.enums.ClientTypeEnum;
import com.newjiabo.applet.modules.entity.enums.ConnectAuthEnum;
import com.newjiabo.applet.modules.entity.enums.ConnectEnum;

import java.io.Serializable;

/**
 * AuthUser
 *
 * @author Chopper
 * @version v1.0
 * 2020-12-07 14:18
 */
public class ConnectAuthUser implements Serializable {
    private static final long serialVersionUID = -747696192479927491L;
    /**
     * 用户第三方系统的唯一id
     */
    private String uuid;
    /**
     * 用户名
     */
    private String username;
    /**
     * 用户昵称
     */
    private String nickname;
    /**
     * 用户头像
     */
    private String avatar;
    /**
     * 用户网址
     */
    private String blog;
    /**
     * 所在公司
     */
    private String company;
    /**
     * 位置
     */
    private String location;
    /**
     * 用户邮箱
     */
    private String email;
    /**
     * 用户备注（各平台中的用户个人介绍）
     */
    private String remark;
    /**
     * 性别
     */
    private AuthUserGender gender;
    /**
     * 用户来源
     * 例如：QQ、微信、微博等
     */
    private ConnectEnum source;

    /**
     * 类型-客户端类型
     * 例如：PC、WAP、小程序
     */
    private ClientTypeEnum type;
    /**
     * 用户授权的token信息
     */
    private AuthToken token;
    /**
     * 第三方平台返回的原始用户信息
     */
    private JSONObject rawUserInfo;

    /**
     * 联合登陆类型
     */
    private ConnectAuthEnum connectEnum;

    /**
     * 手机号
     */
    private String phone;

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getBlog() {
        return blog;
    }

    public void setBlog(String blog) {
        this.blog = blog;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public AuthUserGender getGender() {
        return gender;
    }

    public void setGender(AuthUserGender gender) {
        this.gender = gender;
    }

    public ConnectEnum getSource() {
        return source;
    }

    public void setSource(ConnectEnum source) {
        this.source = source;
    }

    public ClientTypeEnum getType() {
        return type;
    }

    public void setType(ClientTypeEnum type) {
        this.type = type;
    }

    public AuthToken getToken() {
        return token;
    }

    public void setToken(AuthToken token) {
        this.token = token;
    }

    public JSONObject getRawUserInfo() {
        return rawUserInfo;
    }

    public void setRawUserInfo(JSONObject rawUserInfo) {
        this.rawUserInfo = rawUserInfo;
    }

    public ConnectAuthEnum getConnectEnum() {
        return connectEnum;
    }

    public void setConnectEnum(ConnectAuthEnum connectEnum) {
        this.connectEnum = connectEnum;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}
